package com.testing.aggregate;

/**
 * @author lzp
 */
public class SwitchTest {

    private int x;
    private static int y;

    /**
     * 存在继承的情况下，初始化顺序为：
     * 父类（静态变量、静态语句块）
     * 子类（静态变量、静态语句块）
     * 父类（实例变量、普通语句块）
     * 父类（构造函数）
     * 子类（实例变量、普通语句块）
     * 子类（构造函数）
     */
    static {
        // 静态代码块优先类加载
        System.out.println("static");
    }

    public SwitchTest(){
        System.out.println("SwitchTest");
    }

    public static void main(String[] args) {
        int a = SwitchTest.y;
        a = a + 1;
        System.out.println(a);
        test1(1);
        SwitchTest s = new SwitchTest();
    }

    public static void test1(int a){
        // required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
        // 不能传long类型
        switch (a){
            case 1:
                System.out.println("11");
                break;
            default:
                System.out.println("3");
                break;
            case 2:
                System.out.println("2");
                break;
        }
    }
}
